<!DOCTYPE html>
<html>
<!--
Copyright 2009 The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--
Author: mkretzschmar@google.com (Martin Kretzschmar)
-->

<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Closure Unit Tests - goog.testing.ui.rendererasserts</title>
  <script src="../../base.js"></script>
  <script>
    goog.require('goog.ui.ControlRenderer');
    goog.require('goog.testing.ui.rendererasserts');
    goog.require('goog.testing.asserts');
    goog.require('goog.testing.jsunit');
  </script>
</head>
<body>
  <script>
    function testSuccess() {
      function GoodRenderer() {}

      goog.testing.ui.rendererasserts.
          assertNoGetCssClassCallsInConstructor(GoodRenderer);
    }

    function testFailure() {
      function BadRenderer() {
        goog.ui.ControlRenderer.call(this);
        this.myClass = this.getCssClass();
      }
      goog.inherits(BadRenderer, goog.ui.ControlRenderer);

      var ex = assertThrows(
          'Expected assertNoGetCssClassCallsInConstructor to fail.',
          function() {
            goog.testing.ui.rendererasserts.
                assertNoGetCssClassCallsInConstructor(BadRenderer);
          });
      assertTrue('Expected assertNoGetCssClassCallsInConstructor to throw a' +
          ' jsunit exception', ex.isJsUnitException);
      assertContains('getCssClass', ex.message);
    }
  </script>
</body>
</html>
